package com.jyy.prefabricated.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyy.prefabricated.enums.BaseTeamEnum;
import com.jyy.prefabricated.enums.SignTypeEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 学生报名申请
 */
@Data
public class StudentSignUpApply implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 报名类型
     */
    private Integer type = SignTypeEnum.OFFLINE_REG.getValue();

    /**
     * 姓名
     */
    private String name;

    /**
     * 联系电话
     */
    private String tel;

    /**
     * 留言
     */
    private String content;

    /**
     * 状态（1待第一次审核，2第一次审核通过，3待报名审核，4,审核不通过，6报名审核通过）
     */
    private Integer status;

    /**
     * 机构id
     */
    private Integer trainingOrganizationId;

    /**
     * 租户编码
     */
    private String teamCode = BaseTeamEnum.BASE.getValue();

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    /**
     * 性别(1男，2女）
     */
    private Integer sex;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 专业
     */
    private String major;
    /**
     * 学历（1.职高，2中专，3大专，4本科，5硕士，6博士）
     */
    private Integer educationBackground;
    /**
     * 毕业院校
     */
    private String school;
    /**
     * 本人照片
     */
    private String photo;
    /**
     * 学历证明照片
     */
    private String diploma;
    /**
     * 工作证明照片
     */
    private String jobTestify;
    /**
     * 初级证书证明照片
     */
    private String juniorCertificate;
    /**
     * 考试站点id
     */
    private Integer examPointId;
    /**
     * 报名类型（1个人，2培训机构）
     */
    private Integer registrationType;
    /**
     * 报名项目id
     */
    private Integer projectId;
    /**
     * 支付凭证图片
     */
    private String payOrder;
    /**
     * 报名人id
     */
    private Integer studentId;
    /**
     * 机器编号
     */
    private Integer machineNumber;

    /**
     * 科目类型
     */
    private Integer subjectType;

    /**
     * 准考证编号
     */
    private String admissionTicket;

    /**
     * 退款申请状态(0未申请 ;1科目一已申请;2科目二已申请;3科目一和科目二已申请)
     */
    private Integer payType;


    /**
     * 学历证明照片集合
     */
    List<String> diplomaList = new ArrayList<>();
    /**
     * 工作证明照片集合
     */
    List<String> jobTestifyList = new ArrayList<>();
    /**
     * 初级证书证明照片集合
     */
    List<String> juniorCertificateList = new ArrayList<>();

    /**
     * 订单id
     */
    private Integer orderId;

    /**
     * 是否删除
     */
    private Integer flag;
    /**
     * 退款审核状态(1科目一已审核;2科目二已审核；3科目一和科目二已审核)
     */
    private Integer refundAudit;
    private Integer isNull;
}